async await
async
async functionは
Promise
を返す
値をreturnした場合はresolve
例外がthrowとかされた場合はreject
Promiseを返すので
then
とか
catch
もできる
then
に関しては
thenable
であれば、かな
await
async functionの中でだけ使うことができる
Promiseの結果が返ってくるまで、直近のasync functionをwaitする
"直近の"というのがミソで、うっかりすると
Arrayのiteratorとかでasync awaitを使いたい
ときにハマる